package com.osfw.dbadminer.entity.connect;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 连接配置管理--使用 HTTP 隧道连接配置
 */
@Data
@Accessors(chain = true)
public class DbaConnectHttp implements Serializable {

    private static final long serialVersionUID = 1L;

    // HTTP配置ID
    @TableId(value = "id_", type = IdType.ASSIGN_ID)
    private Long id;

    // 连接ID
    @TableField(value = "connect_id_")
    private Long connectId;

    // 隧道网址
    @TableField(value = "tunnel_url_")
    private String tunnelUrl;

    // 是否用 base64 编码传出查询
    @TableField(value = "is_base64_")
    private Boolean isBase64;

    // 是否使用密码验证
    @TableField(value = "is_use_pw_")
    private Boolean isUsePw;

    // 用户名
    @TableField(value = "username_")
    private String username;

    // 密码
    @TableField(value = "password_")
    private String password;

    // 是否使用证书验证
    @TableField(value = "is_use_cert_")
    private Boolean isUseCert;

    // 客户端密钥
    @TableField(value = "client_key_")
    private String clientKey;

    // 客户端证书
    @TableField(value = "client_cert_")
    private String clientCert;

    // CA 证书
    @TableField(value = "ca_cert_")
    private String caCert;

    // 通行短语
    @TableField(value = "pass_phrase_")
    private String passPhrase;

    // 是否使用代理服务器
    @TableField(value = "is_use_proxy_")
    private Boolean isUseProxy;

    // 代理服务器主机
    @TableField(value = "proxy_host_")
    private String proxyHost;

    // 代理服务器端口
    @TableField(value = "proxy_port_")
    private String proxyPort;

    // 代理服务器用户名
    @TableField(value = "proxy_username_")
    private String proxyUsername;

    // 代理服务器密码
    @TableField(value = "proxy_password_")
    private String proxyPassword;

    // 创建时间
    @TableField(value = "create_at_")
    private Date createAt;

    // 创建IP
    @TableField(value = "create_ip_")
    private String createIp;

    // 修改时间
    @TableField(value = "update_at_")
    private Date updateAt;

    // 修改IP
    @TableField(value = "update_ip_")
    private String updateIp;

}
